package com.je.app.view.popUp;

import javax.swing.JDialog;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import javax.swing.UIManager;

import com.je.app.control.ControlSesion;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.Toolkit;

import javax.swing.SwingConstants;

import java.awt.Font;

import javax.swing.JSeparator;

public class ValidarUsuario extends JDialog{
	private JTextField userField;
	private JPasswordField passwordField;
	private JTextField txtUsuario;
	private JTextField txtContrasea;
	private JTextField txtUsuarioYoContrasea;
	private JButton botonRegistrarse;
	private JTextField txtIngreseSusDatos;
	private JSeparator separator;


	public ValidarUsuario(){
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

		getContentPane().setLayout(null);
		
		try{
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		}
		catch(Exception e) {
			
		}

		setSize(300,260);
		setResizable(false);
		setLocationRelativeTo(null);
		
		separator = new JSeparator();
		separator.setBounds(0, 40, 243, 2);
		getContentPane().add(separator);
		
		userField = new JTextField();
		userField.setBounds(113, 69, 130, 21);
		getContentPane().add(userField);
		userField.setColumns(10);
		
		passwordField = new JPasswordField();
		passwordField.setBounds(113, 109, 130, 21);
		getContentPane().add(passwordField);
		
		txtUsuario = new JTextField();
		txtUsuario.setHorizontalAlignment(SwingConstants.RIGHT);
		txtUsuario.setText("Usuario:");
		txtUsuario.setBorder(null);
		txtUsuario.setEditable(false);
		txtUsuario.setColumns(10);
		txtUsuario.setBounds(38, 65, 62, 29);
		getContentPane().add(txtUsuario);
		
		txtContrasea = new JTextField();
		txtContrasea.setHorizontalAlignment(SwingConstants.RIGHT);
		txtContrasea.setText("Contrase\u00F1a:");
		txtContrasea.setBorder(null);
		txtContrasea.setEditable(false);
		txtContrasea.setColumns(10);
		txtContrasea.setBounds(26, 105, 74, 29);
		getContentPane().add(txtContrasea);
		
		final ValidarUsuario dialog = this;
		JButton buttonIngresar = new JButton("Ingresar");
		buttonIngresar.setBackground(SystemColor.activeCaptionBorder);
		buttonIngresar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				ControlSesion.getInstance().validarUsuario(userField.getText(), passwordField.getText(),dialog);
			}
		});
		buttonIngresar.setBounds(38, 176, 87, 33);
		getContentPane().add(buttonIngresar);
		
		txtUsuarioYoContrasea = new JTextField();
		txtUsuarioYoContrasea.setText("Usuario y/o contrase\u00F1a inv\u00E1lida");
		txtUsuarioYoContrasea.setBorder(null);
		txtUsuarioYoContrasea.setForeground(Color.RED);
		txtUsuarioYoContrasea.setEditable(false);
		txtUsuarioYoContrasea.setVisible(false);
		txtUsuarioYoContrasea.setBounds(68, 145, 158, 20);
		getContentPane().add(txtUsuarioYoContrasea);
		txtUsuarioYoContrasea.setColumns(10);
		
		botonRegistrarse = new JButton("Registrarse");
		botonRegistrarse.setBackground(SystemColor.activeCaptionBorder);
		botonRegistrarse.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				new RegistrarUsuario();
				dispose();
			}
		});
		
		txtIngreseSusDatos = new JTextField();
		txtIngreseSusDatos.setOpaque(false);
		txtIngreseSusDatos.setText("Ingrese sus datos");
		txtIngreseSusDatos.setHorizontalAlignment(SwingConstants.CENTER);
		txtIngreseSusDatos.setFont(new Font("Tahoma", Font.PLAIN, 16));
		txtIngreseSusDatos.setEditable(false);
		txtIngreseSusDatos.setColumns(10);
		txtIngreseSusDatos.setBorder(null);
		txtIngreseSusDatos.setBounds(0, 11, 150, 31);
		getContentPane().add(txtIngreseSusDatos);
		botonRegistrarse.setBounds(156, 176, 87, 33);
		getContentPane().add(botonRegistrarse);
		setTitle("Ingresar al sistema");
		setVisible(true);
	}
	
	public void errorVisible(){
		txtUsuarioYoContrasea.setVisible(true);
		Toolkit.getDefaultToolkit().beep(); 
	}
}
